﻿using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace SupportLayer.Objetos.Usuario
{
  [Table(Constantes.Tabelas.TABELAS.USUARIO)]
  public class UsuarioClass
  {
    [Column(Constantes.USUARIO.USUARIO.ID)]
    public int ID { get; set; }
    [Column(Constantes.USUARIO.USUARIO.NOME)]
    [Required, MaxLength(50, ErrorMessage="O tamanho máximo para o Nome do Usuário é 50 caracteres")]
    public string Nome { get; set; }
    [Column(Constantes.USUARIO.USUARIO.EMAIL)]
    [Required, MaxLength(100, ErrorMessage = "O tamanho máximo para o Email do Usuário é 100 caracteres")]
    public string Email { get; set; }
    [Column(Constantes.USUARIO.USUARIO.LOGIN)]
    [Required, MaxLength(100, ErrorMessage = "O tamanho máximo para o Login do Usuário é 100 caracteres")]
    public string Login { get; set; }
    [Column(Constantes.USUARIO.USUARIO.SENHA)]
    [Required, MaxLength(100, ErrorMessage = "O tamanho máximo para a Senha do Usuário é 100 caracteres")]
    public string Senha { get; set; }
    [Column(Constantes.USUARIO.USUARIO.SEXO)]
    [Required, StringLength(1, ErrorMessage = "O campo Sexo deve receber apenas F ou M")]
    public string Sexo { get; set; }
    [Column(Constantes.USUARIO.USUARIO.ATIVO)]
    [Required]
    public bool Ativo { get; set; }
  }
}
